# UDP

# UDP概念：
# UDP（User Datagram Protocol，用户数据报协议）是一种无连接的传输层协议，它不保证数据包的顺序，也不保证数据包的到达。
# UDP协议的特点是简单，不保证可靠性，适用于不要求可靠到达的数据包，如视频、音频、直播等。
# UDP协议的优点是速度快，适用于实时应用，如视频会议、直播等。
# UDP协议的缺点是不可靠，不保证数据包的到达，可能会丢失数据包，适用于对可靠性要求不高的应用。

# UDP服务器程序：
# 1.导入socket库
import socket

# 2.创建套接字
# socket.AF_INET：表示使用IPv4协议,可跨主机通信
# socket.SOCK_DGRAM：表示使用UDP协议
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 3.绑定IP地址和端口
s.bind(('127.0.0.1', 8888))
print("服务已启动，等待客户端连接...")

# 4.接收数据
while True:
    # 接收数据和客户端地址
    data, client = s.recvfrom(1024)
    print('Received from %s:%s.' % client)
    print("接受到客户端的数据:", data.decode('utf-8'))

    # 给客户端发送数据
    s.sendto("沙雕,你好!".encode('utf-8'), client)

# 5.关闭套接字
# s.close()